Field of the Invention
The present disclosure generally relates to computer programming source control management systems and distributed development systems for software applications.
Related Art
Modern software development is often performed by groups of two or more developers, each of whom develop and work on separate portions of a particular software application to be developed. One developer may modify a portion of the software application being developed, such as a specific file of the software application being developed, while another developer simultaneously modifies another file of the software application. Software development is often facilitated by a source control management system, which assists in ensuring that two developers do not modify the same piece of code at the same time.
Some source control management systems can be understood using a tree analogy, in which the in-production, or most current, version of code in a code base is referred to as the “trunk.” A developer may check out and modify a portion of the code in a “branch,” and once the development is complete on the branch, the branch is merged back into the trunk. Complications arise, however, when a modified portion of the code in a branch depends on another portion of code that does not yet satisfy those dependencies, or when the modified portion of the code depends on other conditions outside of the control of a developer. In such a situation, checking in the modified code may cause instability or other issues in the code base.
Thus, there is a need for an improved method and system for managing dependencies in a source control management system.
Embodiments of the present disclosure and their advantages are best understood by referring to the detailed description that follows. It should be appreciated that like reference numerals are used to identify like elements illustrated in one or more of the figures, wherein showings therein are for purposes of illustrating embodiments of the present disclosure and not for purposes of limiting the same.